﻿using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;

namespace linkPosWeb.Class
{
    public class context
    {

      
            public static string sadecetarih()
            {

                string gun = DateTime.Now.Day.ToString();
                string yil = DateTime.Now.Year.ToString();
                int ay = Convert.ToInt32(DateTime.Now.Month);
                string ayy = "";
                if (ay <= 9)
                {
                    ayy = "0" + ay.ToString();
                }
                else
                {
                    ayy = ay.ToString();
                }

                string bugun = yil + "-" + ayy + "-" + gun;
                return bugun;


            }


            public static string sadecesaat()
            {
                string saat = DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second;

                return saat;


            }


            // windows formlardan oluşan date pick nesnesinin formatına verit abanına gör uyduran bir metod

            public static string tarihdatepick(string datepick)
            {
                try
                {



                    string tarih = "";
                    string metin = datepick.Substring(0, 10);
                    string[] yeniMetin = metin.Split('.');
                    tarih = yeniMetin[2] + "-" + yeniMetin[1] + "-" + yeniMetin[0];

                    tarih = tarih.Trim();

                    return tarih;
                }
                catch (Exception)
                {

                    return datepick;
                }
            }

            // buraya yazılacak metodlar

            // double paramterenin veritabanına uygun haline getiren metod yazılacak

            public static int ekle(string tabloadi, object[] kolonlar, object[] degerler)
            {
                int durum = 0;
                try
                {
                    string sorgu = "";
                    string sorgu1 = "";
                    string sorgu2 = "";
                    // insert into products (ProductName,UnitPrice,UnitsINStock) values (@ProductName,@UnitPrice,@UnitsINStock)
                    for (int i = 0; i < kolonlar.Length; i++)
                    {
                        if (i != kolonlar.Length - 1)
                        {
                            sorgu1 += kolonlar[i].ToString() + ',';
                            sorgu2 += '@' + kolonlar[i].ToString() + ',';
                        }
                        else
                        {
                            sorgu1 += kolonlar[i].ToString();
                            sorgu2 += '@' + kolonlar[i].ToString();
                        }
                    }
                    sorgu = "insert into " + tabloadi + "(" + sorgu1 + ")" + " values(" + sorgu2 + ")";
                    SqlConnection sqlcon = connection.baglanti;
                    SqlCommand sqlcmd = new SqlCommand(sorgu, sqlcon);
                    for (int i = 0; i < kolonlar.Length; i++)
                    {
                        sqlcmd.Parameters.AddWithValue("@" + kolonlar[i].ToString(), degerler[i].ToString());
                    }
                    sqlcon.Open();
                    sqlcmd.ExecuteNonQuery();
                    sqlcon.Close();
                    durum = 1;
                    return durum;
                }
                catch (Exception)
                {
                    return durum;
                }
            }

            public static int sil(string tabloadi, string[] belirteckolon, string[] belirtecdeger, string baglac)
            {
                int durum = 0;
                string sorgu = "";
                string sorgu1 = "";
                try
                {
                    switch (baglac)
                    {
                        case "and":
                            for (int i = 0; i < belirteckolon.Length; i++)
                            {
                                if (i != belirteckolon.Length - 1)
                                {
                                    sorgu1 += belirteckolon[i] + "=@" + belirteckolon[i] + " and ";
                                }
                                else
                                {
                                    sorgu1 += belirteckolon[i] + "=@" + belirteckolon[i];
                                }
                            }
                            sorgu = "delete from " + tabloadi + " where " + sorgu1;
                            break;
                        case "or":
                            for (int i = 0; i < belirteckolon.Length; i++)
                            {
                                if (i != belirteckolon.Length - 1)
                                {
                                    sorgu1 += belirteckolon[i] + "=@" + belirteckolon[i] + " or ";
                                }
                                else
                                {
                                    sorgu1 += belirteckolon[i] + "=@" + belirteckolon[i];
                                }

                            }
                            sorgu = "delete from " + tabloadi + " where " + sorgu1;
                            break;
                        default:
                            sorgu = "delete from " + tabloadi + " where " + belirteckolon[0] + "=@" + belirteckolon[0];
                            break;
                    }
                    SqlConnection sqlcon = connection.baglanti;
                    SqlCommand sqlcmd = new SqlCommand(sorgu, sqlcon);
                    for (int i = 0; i < belirteckolon.Length; i++)
                    {
                        sqlcmd.Parameters.AddWithValue("@" + belirteckolon[i], belirtecdeger[i]);
                    }
                    sqlcon.Open();
                    sqlcmd.ExecuteNonQuery();
                    sqlcon.Close();
                    durum = 1;
                    return durum;
                }
                catch (Exception)
                {



                    return durum;
                }



            }

            public static int guncelle(string tabloadi, string[] kolonlar, string[] degerler, string belirteckolon, string belirtecdeger)
            {
                int durum = 0;
                string sorgu = "";
                string sorgu1 = "";
                string sorgu2 = "";
                try
                {
                    for (int i = 0; i < kolonlar.Length; i++)
                    {
                        if (i != kolonlar.Length - 1)
                        {
                            sorgu1 += kolonlar[i] + "=@" + kolonlar[i] + ",";

                        }
                        else
                        {
                            sorgu1 += kolonlar[i] + "=@" + kolonlar[i];
                        }

                    }
                    sorgu2 += belirteckolon + " = @" + belirteckolon;

                    // sorgu= update products set Productname=@Productname where productID=@productID


                    sorgu = "update " + tabloadi + " set " + sorgu1 + " where " + sorgu2;
                    SqlConnection sqlcon = connection.baglanti;
                    SqlCommand sqlcmd = new SqlCommand(sorgu, sqlcon);

                    for (int i = 0; i < kolonlar.Length; i++)
                    {
                        sqlcmd.Parameters.AddWithValue("@" + kolonlar[i], degerler[i]);
                    }
                    sqlcmd.Parameters.AddWithValue("@" + belirteckolon, belirtecdeger);


                    sqlcon.Open();


                    sqlcmd.ExecuteNonQuery();
                    sqlcon.Close();


                    durum = 1;
                    return durum;


                }
                catch (Exception)
                {

                    return durum;
                }










            }



            public static int myekle(string tabloadi, object[] kolonlar, object[] degerler)
            {
                int durum = 0;
                try
                {
                    string sorgu = "";
                    string sorgu1 = "";
                    string sorgu2 = "";
                    // insert into products (ProductName,UnitPrice,UnitsINStock) values (@ProductName,@UnitPrice,@UnitsINStock)
                    for (int i = 0; i < kolonlar.Length; i++)
                    {
                        if (i != kolonlar.Length - 1)
                        {
                            sorgu1 += kolonlar[i].ToString() + ',';
                            sorgu2 += '@' + kolonlar[i].ToString() + ',';
                        }
                        else
                        {
                            sorgu1 += kolonlar[i].ToString();
                            sorgu2 += '@' + kolonlar[i].ToString();
                        }
                    }
                    sorgu = "insert into " + tabloadi + "(" + sorgu1 + ")" + " values(" + sorgu2 + ")";
                    MySqlConnection sqlcon = connection.baglanti2;
                    MySqlCommand sqlcmd = new MySqlCommand(sorgu, sqlcon);
                    for (int i = 0; i < kolonlar.Length; i++)
                    {
                        sqlcmd.Parameters.AddWithValue("@" + kolonlar[i].ToString(), degerler[i].ToString());
                    }
                    sqlcon.Open();
                    sqlcmd.ExecuteNonQuery();
                    sqlcon.Close();
                    durum = 1;
                    return durum;
                }
                catch (Exception)
                {
                    return durum;
                }
            }

            public static int mysil(string tabloadi, string[] belirteckolon, string[] belirtecdeger, string baglac)
            {
                int durum = 0;
                string sorgu = "";
                string sorgu1 = "";
                try
                {
                    switch (baglac)
                    {
                        case "and":
                            for (int i = 0; i < belirteckolon.Length; i++)
                            {
                                if (i != belirteckolon.Length - 1)
                                {
                                    sorgu1 += belirteckolon[i] + "=@" + belirteckolon[i] + " and ";
                                }
                                else
                                {
                                    sorgu1 += belirteckolon[i] + "=@" + belirteckolon[i];
                                }
                            }
                            sorgu = "delete from " + tabloadi + " where " + sorgu1;
                            break;
                        case "or":
                            for (int i = 0; i < belirteckolon.Length; i++)
                            {
                                if (i != belirteckolon.Length - 1)
                                {
                                    sorgu1 += belirteckolon[i] + "=@" + belirteckolon[i] + " or ";
                                }
                                else
                                {
                                    sorgu1 += belirteckolon[i] + "=@" + belirteckolon[i];
                                }

                            }
                            sorgu = "delete from " + tabloadi + " where " + sorgu1;
                            break;
                        default:
                            sorgu = "delete from " + tabloadi + " where " + belirteckolon[0] + "=@" + belirteckolon[0];
                            break;
                    }
                    SqlConnection sqlcon = connection.baglanti;
                    SqlCommand sqlcmd = new SqlCommand(sorgu, sqlcon);
                    for (int i = 0; i < belirteckolon.Length; i++)
                    {
                        sqlcmd.Parameters.AddWithValue("@" + belirteckolon[i], belirtecdeger[i]);
                    }
                    sqlcon.Open();
                    sqlcmd.ExecuteNonQuery();
                    sqlcon.Close();
                    durum = 1;
                    return durum;
                }
                catch (Exception)
                {



                    return durum;
                }



            }

            public static int myguncelle(string tabloadi, string[] kolonlar, string[] degerler, string belirteckolon, string belirtecdeger)
            {
                int durum = 0;
                string sorgu = "";
                string sorgu1 = "";
                string sorgu2 = "";
                try
                {
                    for (int i = 0; i < kolonlar.Length; i++)
                    {
                        if (i != kolonlar.Length - 1)
                        {
                            sorgu1 += kolonlar[i] + "=@" + kolonlar[i] + ",";

                        }
                        else
                        {
                            sorgu1 += kolonlar[i] + "=@" + kolonlar[i];
                        }

                    }
                    sorgu2 += belirteckolon + " = @" + belirteckolon;

                    // sorgu= update products set Productname=@Productname where productID=@productID


                    sorgu = "update " + tabloadi + " set " + sorgu1 + " where " + sorgu2;
                    SqlConnection sqlcon = connection.baglanti;
                    SqlCommand sqlcmd = new SqlCommand(sorgu, sqlcon);

                    for (int i = 0; i < kolonlar.Length; i++)
                    {
                        sqlcmd.Parameters.AddWithValue("@" + kolonlar[i], degerler[i]);
                    }
                    sqlcmd.Parameters.AddWithValue("@" + belirteckolon, belirtecdeger);


                    sqlcon.Open();


                    sqlcmd.ExecuteNonQuery();
                    sqlcon.Close();


                    durum = 1;
                    return durum;


                }
                catch (Exception)
                {

                    return durum;
                }










            }


    }
}